package com.chenfan.mcn.mq;

import com.chenfan.common.extension.spring.TransactionUtils;

/**
 * 消息生产者
 *
 * @author wulg
 * @date 2021-08-19
 **/
public interface MessageProducer<T> {



    /**
     * 同步发送MQ
     * @param message
     */
    default void sendRecordToMq(T message) {
        //@Async失效 同步调用
        TransactionUtils.afterCommit(() -> asyncSendRecordToMq(message));
    }

    /**
     * 异步发送MQ
     * @param message
     */
    void asyncSendRecordToMq(T message);
}
